Converting media streams in a communication system

ABSTRACT

Converting a media stream includes communicating a call for a first system according to a first protocol. A media stream is retrieved from a second system, where the media stream communicated according to a second protocol distinguishable from the first protocol. The media stream is converted from the second protocol to the first protocol, and is associated with the call. The media stream is transmitted to the first system according to the first protocol.

TECHNICAL FIELD OF THE INVENTION

This invention relates generally to the field of telecommunications andmore specifically to converting media streams in a communication system.

BACKGROUND OF THE INVENTION

Communication systems typically include smaller systems that operateaccording to different protocols. Accordingly, communicating mediastreams from one system to another system may involve converting thestreams between different protocols. Known techniques for convertingmedia streams, however, may not be effective in converting between someprotocols. Consequently, known techniques for converting media streamsmay be unsatisfactory in certain situations.

SUMMARY OF THE INVENTION

In accordance with the present invention, disadvantages and problemsassociated with previous techniques for converting media streams may bereduced or eliminated.

According to one embodiment of the present invention, converting a mediastream includes communicating a call for a first system according to afirst protocol. A media stream is retrieved from a second system, wherethe media stream communicated according to a second protocoldistinguishable from the first protocol. The media stream is convertedfrom the second protocol to the first protocol, and is associated withthe call. The media stream is transmitted to the first system accordingto the first protocol.

Certain embodiments of the invention may provide one or more technicaladvantages. A technical advantage of one embodiment may be that a mediastream may be converted from one protocol to another protocol. Byperforming this conversion, the media stream may, for example, beinserted into a call between communication devices.

Certain embodiments of the invention may include none, some, or all ofthe above technical advantages. One or more other technical advantagesmay be readily apparent to one skilled in the art from the figures,descriptions, and claims included herein.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the present invention and itsfeatures and advantages, reference is now made to the followingdescription, taken in conjunction with the accompanying drawings, inwhich:

FIG. 1 is a block diagram illustrating one embodiment of a communicationsystem that includes a conversion module operable to convert mediastreams;

FIG. 2 is a diagram illustrating one embodiment of a method forconverting data; and

FIG. 3 is a block diagram illustrating one embodiment of a conversionmodule.

DETAILED DESCRIPTION OF THE DRAWINGS

Embodiments of the present invention and its advantages are bestunderstood by referring to FIGS. 1 through 3 of the drawings, likenumerals being used for like and corresponding parts of the variousdrawings.

FIG. 1 is a block diagram illustrating one embodiment of a communicationsystem 10 that includes a conversion module operable to convert mediastreams. Communication system 10 may include systems that operateaccording to different protocols such as different codec or transportschemes. The conversion module may convert media streams between thedifferent protocols.

According to the illustrated embodiment, communication system 10includes a streaming media system 20 and an Internet Protocol (IP)telephony system 24 coupled to a conversion module 28 as illustrated inFIG. 1. Communication system 10 may include other or additional types ofsystems coupled to conversion module 28. According to one embodiment,systems 20 and 24 of communication system 10 may each have differentcontrol planes, data planes, or both. As an example, systems 20 and 24may operate according to different protocols such as different codec,transport, or call control schemes.

Streaming media system 20 provides streaming media for communicationsystem 10. “Streaming” refers to the transmission of data to acommunication device that may play or decode the data as the data isreceived, without waiting until the entire file has been downloaded.Streaming media may comprise single or multiple media data, for example,audio data, video data, or both, and may include a live broadcast or anon-demand playback of pre-recorded data. The media streams may beunicast or multicast.

Streaming media system 20 may operate according to any suitabletransport protocol such as transport protocols of the InternetEngineering Task Force (IETF) standards. The protocols may include theRealtime Transport Protocol (RTP) for streaming media, Real TimeStreaming Protocol (RTSP), Moving Pictures Experts Group (MPEG)transport protocol, or other suitable protocol.

According to one embodiment, streaming media system 20 may include oneor more peripheral devices 30 and a streaming server 34 coupled to acommunication network 38 as illustrated in FIG. 1. Peripheral device 30may comprise equipment that operates in conjunction with communicationnetwork 28 to provide communication services. Examples of peripheraldevices 30 may include, for example, an Internet Voice on Demand (IVoD)device, a broadcast server, a transport stream device such as a MPEG-2transport stream device, or any other device suitable for operating inconjunction with communication network 28 to provide communicationservices.

Streaming server 34 may comprise a streaming server 34 operable toprovide streaming media for communication system 10 by, for example,encoding streaming media according to a streaming media protocol.Streaming server 34 may comprise a codec that operates according to anysuitable streaming media codec protocol, for example, Moving PicturesExperts Group (MPEG) 1/2/4 for video data or MPEG Layer-3 (MP3),Advanced Audio Coding (AAC), or Dolby Digital (AC3) for audio data.

TABLE 1 illustrates examples of codec schemes and associated transportprotocols that may be used by streaming server 34.

TABLE 1 Codec Transport Protocol MPEG 4 video RFC 3016 MPEG ½ video RFC2250 MP3 files RFC 2250 or 3119 AAC audio RFC 3016

Communication network 38 allows streaming media system 20 to communicatewith other networks or devices of communication system 10. Communicationnetwork 38 may comprise a public or private data network, the Internet,a wireline or wireless network, a local, regional, or globalcommunication network, an enterprise intranet, other suitablecommunication link, or any combination of the preceding.

Internet Protocol telephony system 24 provides transmission of datapackets according to the Internet Protocol. Internet Protocol telephonysystem 24 may operate according to any suitable control protocol such asthe Signaling Connection Control Part (SCCP), H.323 protocol provided bythe International Telecommunications Union (ITU), Session InitiationProtocol (SIP) provided by the Internet Engineering Task Force (IETF),or other suitable control protocol. Codecs of Internet Protocoltelephony system 24 may operate according to any suitable protocol, forexample, H.323 protocols such as H.261 or H.263 video protocols orG.711, G.722, G.723, G.728, or G.729 audio protocols.

TABLE 2 illustrates example codec schemes and associated transportprotocols that may be used by Internet Protocol telephony system 24.

TABLE 2 Codec Transport Protocol H.261 RFC 2032 H.263 or H.263+ RFC 2190or 2429 G.711 RFC 1890 G.723 RFC 1890 G.729 RFC 1890

According to the illustrated embodiment, Internet Protocol telephonysystem 24 includes a call manager 40 and one or more communicationdevices 42 coupled to a communication network 44 as illustrated inFIG. 1. Call manager 40 manages communication of data packets betweencommunication network 44 and communication device 42.

Communication device 42 may comprise, for example, a cellular telephone,an IP telephone with video, audio, or both types of capabilities, or anyother device suitable for communicating data packets to and from system10. Communication device 42 may support, for example, simple InternetProtocol (IP), mobile IP, or any other suitable communication protocol.Communication device 42 may utilize, for example, General Packet RadioService (GPRS) or any other suitable mobile communication technology. Acall from communication device 42 may comprise data packetscommunicating information such as data, video, multimedia, any othersuitable type of information, or any combination of the preceding.

Communication network 44 allows Internet Protocol telephony system 24 tocommunicate with other networks or devices of communication system 10.Communication network 44 may comprise a public or private data network,the Internet, a wireline or wireless network, a local, regional, orglobal communication network, an enterprise intranet, other suitablecommunication link, or any combination of the preceding. According toone embodiment, communication network 44 may comprise all or a portionof communication network 38.

A gateway 46 may be used to couple Internet Protocol telephony system 24to a public switched telephone network 48 to allow communication betweenInternet Protocol telephony system 24 and PSTN device 50. Since publicswitched telephone network 48 uses circuit switching to communicatetelephone calls, gateway 46 may convert between a circuit-switchedsignal for public switched telephone network 48 and digital data forInternet Protocol telephony system 24.

Conversion module 28 may convert media streams between differentprotocols used by different systems of communication system 10.“Conversion” may refer to modifying data streams that conform to oneprotocol so that the data streams conform to another protocol. Theconversion may involve changes between codec protocols, transportprotocols, call control protocols, or other suitable protocols.Conversion may involve transcoding media data from one protocol toanother protocol, which may involve decoding data conforming to oneprotocol to yield raw data and encoding the raw data to conform toanother protocol. Raw data may comprise data that carries informationand that may be translated from one format to another format.

According to one embodiment, conversion module 28 may convert between astreaming media codec protocol and an Internet Protocol codec protocol,and may convert between a streaming media transport protocol, such as anAudio-Video Transport (AVT) protocol, and an Internet Protocol transportprotocol. Conversion module 28, however, may convert data between anytwo suitable protocols. Conversion module 28 may also be configured toperform transcoding only in certain situations. For example, conversionmodule 28 may determine whether transcoding is needed and performtranscoding in response to the determination.

According to one embodiment, conversion module 28 may use appropriatecontrol planes for different protocols to initiate communicationsessions, communicate between different codecs, and transport mediastreams. As an example, conversion module 28 may initiate sessions withstreaming media system 20 using a streaming media control plane such asReal Time Streaming Protocol (RTSP), Session Description Protocol (SDP),a proprietary protocol, or other suitable protocol, and may initiatesessions with Internet Protocol telephony system 24 using an InternetProtocol such as Signaling Connection Control Part (SCCP), SessionInitiation Protocol (SIP), H.323 protocol, or other suitable protocol.

Conversion module 28 may transmit data between streaming media codecsoperating according to Moving Pictures Experts Group (MPEG) 1/2/4 videoprotocol or MPEG Layer 3 (MP3) or MJPEG audio protocol and codecsoperating according to an Internet Protocol such as H.261, H.263, orH263+ video protocol or G.711, G.723, or G.729 audio protocol.

Conversion module 28 may also translate data between different transportprotocols such as Real Time Transport Protocol (RTP) over Real TimeStreaming Protocol (RTSP), User Datagram Protocol (UDP), or otherprotocol for streaming media system 20 and Realtime Transport Protocolover user Datagram Protocol (UDP) or a proprietary protocol of InternetProtocol telephony system 24. Data may be converted between audio-visualtransport protocols such as RFC 3016, 2250, or 3119, or other suitabletransport protocol to an Internet Protocol telephony transport protocolsuch as RFC 2032, 2190, 2429, or 1890, or other suitable transportprotocol.

As an example, in operation, conversion module 28 receives a mediastream from streaming media system 20. The streaming media may bedelivered according to any suitable format such as HyperText TransferProtocol (HTTP) or Session Announcement Protocol (SAP) format, and thedata may be sent according to Real Time Transport Protocol. The mediastream may be converted by decoding the media stream to yield raw mediadata, and encoding the raw media data to yield telephony codec data. Theraw media data may comprise pulse code modulation (PCM) audio data, Yuvformatted video data, or both. The telephony codec data may comprisedata that can be transmitted according to Internet Protocol telephonyprotocols. According to one embodiment, conversion module 28 mayreplicate the media stream to multiple clients. Conversion module 28 maybe used to, for example, inject a training video into a videoconference. As another example, an IP mobile phone may receive astreaming broadcast. Conversion module 28 is described in more detailwith reference to FIGS. 2 and 3.

Modifications, additions, or omissions may be made to communicationsystem 10 without departing from the scope of the invention. Moreover,the operations of communication system 10 may be performed by more orfewer modules. For example, the operations of conversion module 28 maybe performed by more than one module. Additionally, functions may beperformed using any suitable logic comprising software, hardware, otherlogic, or any suitable combination of the preceding. As used in thisdocument, “each” refers to each member of a set or each member of asubset of a set.

FIG. 2 is a diagram 70 illustrating one embodiment of a method forconverting data. Diagram 70 shows communication between communicationdevice 42, call manager 40, conversion module 28, and streaming server34.

The method begins at step 74, where communication device 42 dials intocall manager 40 to initiate a call session. Call manager 40 places acall to conversion module 28 at step 76. In response, conversion module28 sends a ready response to call manager 40 at step 78. Call manager 40sends a ready response to communication device 42 at step 80.

Conversion module 28 calls streaming server 34 at step 82. Streamingserver 34 initiates transmission of streaming media to conversion module28. Streaming media is transmitted to conversion module at step 84.Conversion module 28 converts the streaming media from a streaming mediaprotocol to an Internet Protocol. The streaming media is sent tocommunication device 42 at step 86 to inject the streaming media intothe call.

Modifications, additions, or omissions may be made to the method withoutdeparting from the scope of the invention. For example, call manager 40may be omitted, and communication device 42 may communicate directlywith conversion module 28. Communication device 42 may initiate a callwith conversion module 28 at step 90. Conversion module 28 may send aready response to communication device 42 at step 92 and then proceed tostep 82. Additionally, steps may be performed in any suitable orderwithout departing from the scope of the invention.

FIG. 3 is a block diagram illustrating one embodiment of conversionmodule 28. According to the illustrated embodiment, conversion module 28includes an interface (I/F) 110, a processor 114, a memory 118, a callcontrol 119, and other modules 120 coupled as shown in FIG. 3. Interface110 receives and transmits signals. Processor 114 manages the operationof conversion module 28, and may comprise any suitable device operableto accept input, process the input according to predefined rules, andproduce output.

Memory 118 stores data used by processor, and may include Random AccessMemory (RAM), Read Only Memory (ROM), magnetic drives, disk drives,Compact Disk (CD) Drives, Digital Video Disk (DVD) drives, removablemedia storage, any other suitable data storage device, or a combinationof any of the preceding. Call control 119 may set up one or moresessions, where each session is operable to handle a media stream. Eachsession may handle an audio stream, a video stream, or both.

Modules 120 may comprise logic such as software, hardware, or anysuitable combination of software and hardware operable to performconversion operations, and may include, for example, a receiver 122, adecoder 126, a resizer/resampler 130, an encoder 134, and a transmitter138. Modules 120, however, may include fewer, more, or other modules.Modules 120 may be coupled to processor 114 using a bus connection orother suitable link.

Receiver 122 receives streaming data through interface 110, and maycomprise, for example, an Ethernet controller, an Internet Protocolstack, a realtime protocol receiver, or other suitable component. Thestreaming data may be encoded according to one or more first protocolscomprising protocols for streaming data such as Ethernet protocol,Internet Protocol, User Datagram Protocol, Real Time Transport Protocol,and codec specific Real Time Transport Protocol. Decoder 126 decodes thestreaming data, and may comprise a streaming decoding engine such as anMPEG 1 Layer 3 audio decoder. Resizer/resampler 130 resizes and/orresamples the streaming data to prepare the data for encoding accordingto a second protocol such as an IP telephony protocol. Encoder 134encodes the data according to the second protocol. Transmitter 138transmits the encoded data to one or more destinations.

Modifications, additions, or omissions may be made to the system withoutdeparting from the scope of the invention. Moreover, the operations ofthe system may be performed by more or fewer modules. For example, theoperations of resizer/resampler 130 and encoder 134 may be performed byone module, or the operations of resizer/resampler 130 may be performedby more than one module. Additionally, functions may be performed usingany suitable logic comprising software, hardware, other logic, or anysuitable combination of the preceding.

Certain embodiments of the invention may provide one or more technicaladvantages. A technical advantage of one embodiment may be that a mediastream may be converted from one protocol to another protocol. Byperforming this conversion, the media stream may, for example, beinserted into a call between communication devices.

Although an embodiment of the invention and its advantages are describedin detail, a person skilled in the art could make various alterations,additions, and omissions without departing from the spirit and scope ofthe present invention as defined by the appended claims.

1. A method for converting a media stream, comprising: interfacing, by aconversion module, through an Internet Protocol (IP) network with an IPsystem that is communicating a plurality of data packets of a call for atelephone according to a first protocol, the first protocol comprisingan IP telephony protocol, the data packets communicating information;interfacing, by the conversion module, with a second system comprising astreaming media system comprising a streaming server operable to providestreaming pre-recorded data, the streaming server distinct from theconversion module and coupled to the conversion module through acommunication network, the conversion module disposed between thecommunication network and the IP network; retrieving, by the conversionmodule, a media stream from the second system, the media streamcommunicated as streaming media codec data according to a secondprotocol distinguishable from the first protocol, the second protocolcomprising a streaming media protocol, the media stream comprising thestreaming pre-recorded data; converting, by the conversion module, themedia stream from the second protocol to the first protocol by: decodingthe streaming media codec data according to the second protocol to yieldraw media data; and encoding the raw media data according to the firstprotocol to yield Internet Protocol codec data; and transmitting themedia stream encoded as the Internet Protocol codec data from theconversion module to the telephone to insert the media stream into thecall after the data packets communicating information.
 2. The method ofclaim 1, wherein converting the media stream from the second protocol tothe first protocol comprises: decoding the media stream according to thesecond protocol to yield raw data; and encoding the raw data accordingto the first protocol.
 3. The method of claim 1, wherein converting themedia stream from the second protocol to the first protocol comprisesconverting the media stream from a second transport protocol of thesecond protocol to a first transport protocol of the first protocol. 4.A system for converting a media stream, comprising: a first interfaceoperable to interface through an Internet Protocol (IP) network with anIP system that is communicating a plurality of data packets of a callfor a telephone according to a first protocol, the first protocolcomprising an IP telephony protocol, the data packets communicatinginformation; and a second interface operable to interface with a secondsystem comprising a streaming media system comprising a streaming serveroperable to provide streaming pre-recorded data, the streaming serverdistinct from the conversion module and coupled to the conversion modulethrough a communication network, the conversion module disposed betweenthe communication network and the IP network; and a processor coupled tothe interface and operable to: retrieve a media stream from the secondsystem, the media stream communicated as streaming media codec dataaccording to a second protocol distinguishable from the first protocol,the second protocol comprising a streaming media protocol, the mediastream comprising the streaming pre-recorded data; convert the mediastream from the second protocol to the first protocol by: decoding thestreaming media codec data according to the second protocol to yield rawmedia data; and encoding the raw media data according to the firstprotocol to yield Internet Protocol codec data; transmit the mediastream encoded as the Internet Protocol codec data from the conversionmodule to the telephone to insert the media stream into the call afterthe data packets communicating information.
 5. The system of claim 4,wherein the processor is operable to convert the media stream from thesecond protocol to the first protocol by: decoding the media streamaccording to the second protocol to yield raw data; and encoding the rawdata according to the first protocol.
 6. The system of claim 4, whereinthe processor is operable to convert the media stream from the secondprotocol to the first protocol by converting the media stream from asecond transport protocol of the second protocol to a first transportprotocol of the first protocol.
 7. The system of claim 4, wherein theprocessor is operable to convert the media stream from the secondprotocol to the first protocol by converting the media stream from asecond codec protocol of the second protocol to a first codec protocolof the first protocol.
 8. One or more computer-readable storage mediastoring software that when executed by a computer is operable to:interface, by a conversion module, through an Internet Protocol (IP)network with an IP system that is communicating a plurality of datapackets of a call for a telephone according to a first protocol, thefirst protocol comprising an IP telephony protocol, the data packetscommunicating information; interface, by the conversion module, with asecond system comprising a streaming media system comprising a streamingserver operable to provide streaming pre-recorded data, the streamingserver distinct from the conversion module and coupled to the conversionmodule through a communication network, the conversion module disposedbetween the communication network and the IP network; retrieve, by theconversion module, a media stream from the second system, the mediastream communicated as streaming media codec data according to a secondprotocol distinguishable from the first protocol, the second protocolcomprising a streaming media protocol, the media stream comprising thestreaming pre-recorded data; convert, by the conversion module, themedia stream from the second protocol to the first protocol by: decodingthe streaming media codec data according to the second protocol to yieldraw media data; and encoding the raw media data according to the firstprotocol to yield Internet Protocol codec data; and transmit the mediastream encoded as the Internet Protocol codec data from the conversionmodule to the telephone to insert the media stream into the call afterthe data packets communicating information.
 9. The logic of claim 7,operable to convert the media stream from the second protocol to thefirst protocol by: decoding the media stream according to the secondprotocol to yield raw data; and encoding the raw data according to thefirst protocol.
 10. The logic of claim 8, operable to convert the mediastream from the second protocol to the first protocol by converting themedia stream from a second transport protocol of the second protocol toa first transport protocol of the first protocol.
 11. The logic of claim8, operable to convert the media stream from the second protocol to thefirst protocol by converting the media stream from a second codecprotocol of the second protocol to a first codec protocol of the firstprotocol.
 12. A system for converting a media stream, comprising: meansfor interfacing, by a conversion module, through an Internet Protocolnetwork with an IP (IP) system that is communicating a plurality of datapackets of a call for a telephone according to a first protocol, thefirst protocol comprising an IP telephony protocol, the data packetscommunicating information; means for interfacing, by the conversionmodule, with a second system comprising a streaming media systemcomprising a streaming server operable to provide streaming pre-recordeddata, the streaming server distinct from the conversion module andcoupled to the conversion module through a communication network, theconversion module disposed between the communication network and the IPnetwork; means for retrieving, by the conversion module, a media streamfrom the second system, the media stream communicated as streaming mediacodec data according to a second protocol distinguishable from the firstprotocol, the second protocol comprising a streaming media protocol, themedia stream comprising streaming pre-recorded data; means forconverting, by the conversion module, the media stream from the secondprotocol to the first protocol by: decoding the streaming media codecdata according to the second protocol to yield raw media data; andencoding the raw media data according to the first protocol to yieldInternet Protocol codec data; and means for transmitting the mediastream encoded as the Internet Protocol codec data from the conversionmodule to the telephone to insert the media stream into the call afterthe data packets communicating information.
 13. A method for convertinga media stream, comprising: interfacing, by a conversion module, throughan Internet Protocol (IP) network with an IP system that iscommunicating a plurality of data packets of a call for a telephoneaccording to a first protocol comprising an IP telephony protocol, thedata packets communicating information; interfacing, by the conversionmodule, with a second system comprising a streaming media systemcomprising a streaming server operable to provide streaming pre-recordeddata, the streaming server distinct from the conversion module andcoupled to the conversion module through a communication network, theconversion module disposed between the communication network and the IPnetwork; retrieving, by the conversion module, a media stream from thesecond system, the media stream communicated as streaming media codecdata according to a second protocol comprising a streaming mediaprotocol distinguishable from the first protocol, the media streamcomprising the streaming pre-recorded data; converting, by theconversion module, the media stream from the second protocol to thefirst protocol by decoding the streaming media codec data according tothe second protocol to yield raw media data, and encoding the raw mediadata according to the first protocol to yield Internet Protocol codecdata by: decoding the media stream according to the second protocol toyield raw data, and encoding the raw data according to the firstprotocol; converting the media stream from a second transport protocolof the second protocol to a first transport protocol of the firstprotocol; and converting the media stream from a second codec protocolof the second protocol to a first codec protocol of the first protocol;and transmitting the media stream encoded as the Internet Protocol codecdata from the conversion module to the telephone to insert the mediastream into the call after the data packets communicating information.